package com.lintesis.lintesisview.webgui.rol;

import org.zkoss.zul.Listheader;
import org.zkoss.zul.Textbox;

import com.lintesis.lintesismodel.common.hibernate.BussinessObject;
import com.lintesis.lintesismodel.common.hibernate.HibernateSearchObject;
import com.lintesis.lintesismodel.users.Role;
import com.lintesis.lintesisview.common.ListCtrl;


public class RolListCtrl extends ListCtrl<Role>
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1988726213128047807L;
	Textbox tbNombre;
	Textbox tbDescripcion;

	Listheader lhNombre;
	Listheader lhDescripcion;  

	@Override
	protected void doDefineOrders()
	{
		orders.put("roleName", lhNombre);
		orders.put("description", lhDescripcion);
	}

	@Override
	public void doSetSearchComponents()
	{
		searchComponents.add(tbNombre);
		searchComponents.add(tbDescripcion);
	}

	@Override
	protected String getABMDialogURL()
	{
		return "/pages/rol/rolDialog.zul";
	}

	@Override
	protected HibernateSearchObject<Role> getNewHibernateSearchObject()
	{
			return new HibernateSearchObject<Role>(Role.class);
	}

	@Override
	protected BussinessObject getNewEntidad()
	{
		Role rol = new Role();
		return rol;
	}

	@Override
	protected void setDescripcionLarga()
	{

	}

	@Override
	protected void setSearchFilters()
	{
		filters.put("roleName", "%"+tbNombre.getValue()+"%");
		filters.put("description", "%"+tbDescripcion.getValue()+"%");
	}

	@Override
	public String getEntityName()
	{
		return "Role";
	}

	@Override
	protected void setDefaultFilters() { 
		getHibernateSearchObject().addSortAsc("roleName");
	}
}
